module CSA (
    input [49:0]pp1,
    input [49:0]pp2,
    input [49:0]pp3,
    output [49:0]C,
    output [49:0]S
);
    genvar i;
generate
	for(i=0; i<50; i=i+1) begin
		FullAdder u_FullAdder(
			.A      (   pp1[i]    ),
			.B      (   pp2[i]    ),
			.Cin    (   pp3[i]    ),
			.Cout   (   C[i]	  ),
			.S      (   S[i]      )
		);
	end
endgenerate
endmodule